var isRepeatProductNameFlag;//产品名称是否存在标识
var isRepeatProductCodeFlag;//产品编码是否存在标识
var isRepeatTopicIdFlag;//专题ID是否存在标识

//产品返回标识 1商机列表新增商机触发-->新增产品  2联系人详情新增商机-->新增产品 暂不做跳转  3客户详情商机-->新增商机-->新增产品  暂不做跳转    没值是从产品列表新增跳转和菜单新增产品
var productBs = $('#productBs').text();

$(function () {
    //生成产品编码
    let code = randomString(6);
    $("#productCode").val(code);

    $("#title").text('新增非会员产品');
    productTagInit();//产品标签
    // membershipCardTypeSelectInit();//初始化会员发卡方式下拉框
    exchangeMethodSelectInit();//初始化兑换方式下拉框

    $('form select').selectpicker({
        noneSelectedText: '请选择',
        sanitize: true,
        size: 10
    });
});

//产品标签
function productTagInit() {
    $("#productTagBox").html('');
    $("#productTagBox").append('<input type="text" name="staticPath" value="" id="staticPath2"/>');
    WS({
        el: "#staticPath2"
    });
}

/**
 * 初始化会员发卡类型下拉框
 */
function membershipCardTypeSelectInit(){
    $.ajax({
        type: 'get',
        url: '/dictionary/selectDictionaryByTypeCode',
        data:{
            typeCode: 13 //字典大分类
        },
        success: function (data) {
            let membershipCardTypeList = data.data;
            let membershipCardTypeOptionStr = "";
            for (let index in membershipCardTypeList) {
                let jsonObj = membershipCardTypeList[index];
                membershipCardTypeOptionStr += "<option value=\"" + jsonObj.dictCode + "\">" + jsonObj.dictName + "</option>";
                $("#membershipCardTypeSelect").html("<option value=''>请选择</option>" + membershipCardTypeOptionStr);
            }
            // 刷新下拉框
            $("#membershipCardTypeSelect").selectpicker('refresh');
        }
    });
}

/**
 * 初始化兑换方式下拉
 */
function exchangeMethodSelectInit(){
    $.ajax({
        type: 'get',
        url: '/dictionary/selectDictionaryByTypeCode',
        data:{
            typeCode: 14 //字典大分类
        },
        success: function (data) {
            let exchangeMethodList = data.data;
            let exchangeMethodOptionStr = "";
            for (let index in exchangeMethodList) {
                let jsonObj = exchangeMethodList[index];
                exchangeMethodOptionStr += "<option value=\"" + jsonObj.dictCode + "\">" + jsonObj.dictName + "</option>";
                $("#exchangeMethodSelect").html("<option value=''>请选择</option>" + exchangeMethodOptionStr);
            }
            // 刷新下拉框
           $("#exchangeMethodSelect").selectpicker('refresh');
        }
    });
}

// 新增会员发卡类型弹出窗
function showAddType() {
    $("#addMemberShipCardModel").modal("show");
}

//提交动态添加产品--会员发卡类型
function addMemberShipCardType() {
    $("#membershipCardTypeSelect").append('<option>'+$("#memberShipCard").val()+'</option>');
    var dictName = $("#memberShipCard").val();
    addDictionary(13,dictName,'产品--会员发卡类型');

    $("#addMemberShipCardModel").modal("hide");
    // 新增会员发卡类型之后默认选中新增的会员发卡类型
    $("#membershipCardTypeSelect option:last").prop('selected', true);
    // 刷新select控件
    $("#membershipCardTypeSelect").selectpicker('refresh');
}


// 新增兑换方式弹出框
function showAddChange() {
    $("#addExchangeMethodModel").modal("show");
}

//提交动态添加产品--兑换方式
function addExchangeMethod() {
    $("#exchangeMethodSelect").append('<option>'+$("#exchangeMethod").val()+'</option>');
    var dictName = $("#exchangeMethod").val();
    addDictionary(14, dictName,'产品--兑换方式');

    $("#addExchangeMethodModel").modal("hide");
    // 新增兑换方式之后默认选中新增的兑换方式
    $("#exchangeMethodSelect option:last").prop('selected', true);
    // 刷新select控件
    $("#exchangeMethodSelect").selectpicker('refresh');
}

/**
 * 提交
 * @param typeCode
 * @param dictName
 * @param dictDesc
 */
function addDictionary(typeCode,dictName,dictDesc){
    $.ajax({
        type: "post",
        url: "/dictionary/addDictionary",
        data: {
            typeCode: typeCode,
            dictName: dictName,
            dictDesc: dictDesc
        },
        dataType: 'json',
        success: function (data, status) {
            if(data.code == '000000') {
                // $.alert("操作成功");
            }else if(data.code == 'PC0010'){
            }
        },
        error:function(){
            $.alert("操作失败,请稍后再试!");
        }
    });
}

/**
 * 校验产品名称是否存在
 */
function checkIsRepeatProductName(){
    var productName = $("#productName").val();//产品名称
    $.ajax({
        type: "post",
        url: "/customerProduct/isRepeatProductName",
        data: {
            productName: productName
        },
        dataType: 'json',
        async: false,
        success: function (data, status) {
            if(data.code == '000000') {
                isRepeatProductNameFlag = false;
            }else if(data.code == 'PC0010'){
                isRepeatProductNameFlag = true;
                $.alert(data.message);
            }
        },
        error:function(){
            $.alert("操作失败,请稍后再试!");
            isRepeatProductNameFlag = true;
        }
    });
}

/**
 * 校验产品编码是否存在
 */
function checkIsRepeatProductCode(){
    var productCode = $("#productCode").val();//产品编码
    $.ajax({
        type: "post",
        url: "/customerProduct/isRepeatProductCode",
        data: {
            productCode: productCode
        },
        dataType: 'json',
        async: false,
        success: function (data, status) {
            if(data.code == '000000') {
                isRepeatProductCodeFlag = false;
            }else if(data.code == 'PC0011'){
                isRepeatProductCodeFlag = true;
                $.alert(data.message);
            }
        },
        error:function(){
            $.alert("操作失败,请稍后再试!");
            isRepeatProductCodeFlag = true;
        }
    });
}

/**
 * 校验专题ID是否存在
 */
function checkIsRepeatTopicId(){
    var topicId = $("#topicId").val();//专题ID
    $.ajax({
        type: "post",
        url: "/customerProduct/isRepeatTopicId",
        data: {
            topicId: topicId
        },
        dataType: 'json',
        async: false,
        success: function (data, status) {
            if(data.code == '000000') {
                isRepeatTopicIdFlag = false;
            }else if(data.code == 'PC0012'){
                isRepeatTopicIdFlag = true;
                $.alert(data.message);
            }
        },
        error:function(){
            $.alert("操作失败,请稍后再试!");
            isRepeatTopicIdFlag = true;
        }
    });
}

/**
 * 新增产品
 * 1.校验产品名称、产品编码、专题ID是否存在
 * 2.校验不可为空字段是否为空;检验限制长度的字段
 * 3.拼接参数调用后端
 */
function addCustomerProduct(){
    if(isRepeatProductNameFlag){
        $.alert("产品名称已存在");
        return;
    }
    if(isRepeatProductCodeFlag){
        $.alert("产品编码已存在");
        return;
    }

    if(isRepeatTopicIdFlag){
        $.alert("专题ID已存在");
        return;
    }

    if(!isRepeatProductCodeFlag && !isRepeatProductNameFlag && !isRepeatTopicIdFlag){//产品名称、产品编码、专题ID不存在
        var productCode = $("#productCode").val();//产品编码
        if(!productCode){
            promptInfo("产品编码不能为空!");
            return;
        }
        var productCategories = $('#productCategoriesSelect option:selected').val();//产品分类
        var productName = $("#productName").val();//产品名称
        if(!productName){
            promptInfo("产品名称不能为空!");
            return;
        }
        var serviceClassification = $("#serviceClassification").val();//服务分类
        var tagStr = $('.fm-button').text().split(' ').join(',');
        var productTag = tagStr.substring(0, tagStr.lastIndexOf(','))+ tagStr.substring(tagStr.lastIndexOf(',')+1);//产品标签
        var productOriginalPrice = $("#productOriginalPrice").val();//产品原价
        var productUnitPrice = $("#productUnitPrice").val();//产品单价
        if(!productUnitPrice){
            promptInfo("产品单价不能为空!");
            return;
        }
        var performanceConversionRatio = $("#performanceConversionRatio").val();//业绩换算比例
        if(!performanceConversionRatio){
            promptInfo("业绩换算比例不能为空!");
            return;
        }
        var productMemberPrice = $("#productMemberPrice").val();//产品会员价
        var productPreferentialPrice = $("#productPreferentialPrice").val();//产品优惠价
        var productActivePrice = $("#productActivePrice").val();//产品活动价
        var performanceAmount = $("#performanceAmount").val();//业绩金额
        var topicId = $("#topicId").val();//专题ID
        var studyPeriod = $("#studyPeriod").val();//学习期数
        var exchangeMethod = $('#exchangeMethodSelect option:selected').val();//兑换方式
        var membershipCardLevel = $("#membershipCardLevel").val();//会员卡级别
        var membershipCardType = $('#membershipCardTypeSelect option:selected').val();//会员卡类型
        var sceneAttend = $("#sceneAttend").val();//现场参会
        var productDesc = $("#productDesc").val();//产品描述
        var productManual = $("#productManual").val();//产品说明
        var productPeriodValidity= $("#productPeriodValidity").val();//产品有效期

        //新增产品JSON数据
        var productJsonData = {
            "productCategories":productCategories,//产品分类
            "productName":productName,//产品名称
            "productCode":productCode,//产品编码
            "serviceClassification":serviceClassification,//服务分类
            "productTag":productTag,//产品标签
            "productOriginalPrice":productOriginalPrice,//产品原价
            "productUnitPrice":productUnitPrice,//产品单价
            "performanceConversionRatio":performanceConversionRatio,//业绩换算比例
            "productMemberPrice":productMemberPrice,//产品会员价
            "performanceAmount":performanceAmount,//业绩余额
            "topicId":topicId,//专题ID
            "studyPeriod":studyPeriod,//学习期数
            "exchangeMethod":exchangeMethod,//兑换方式
            "membershipCardLevel":membershipCardLevel,//会员卡级别
            "membershipCardType":membershipCardType,//会员卡类型
            "sceneAttend":sceneAttend,//现场参会
            "productDesc":productDesc,//产品描述
            "productManual":productManual,//产品说明
            "productPeriodValidity":productPeriodValidity//产品有效期
        };

        //新增产品调用后端接口
        $.ajax({
            url: '/customerProduct/addCustomerProduct',
            type: 'POST',
            dataType: "json",
            contentType: "application/json;charset=utf-8",
            data: JSON.stringify(productJsonData),
            success: (function (data) {
                if(data.code == "000000") {
                    $.alert("保存成功！");
                    var $thisTabs = parent.$('.mt-nav-bar .nav-tabs').find('li.active');
                    var navTab = parent.$multitabs._getNavTab($thisTabs);
                    closeTab(navTab);
                    //1商机列表新增商机触发-->新增产品
                    if(productBs == "1"){
                        openTab("新增商机","/front/opportunityManager/addOpportunity?opportunityBs=1"); //1从商机列表的入口 2从联系人详情的入口
                        refreshActivePane("/front/opportunityManager/addOpportunity?opportunityBs=1"); //1从商机列表的入口 2从联系人详情的入口
                        //2联系人详情新增商机-->新增产品
                    }else if(productBs == "2"){
                        openTab("新增商机","/front/opportunityManager/addOpportunity?opportunityBs=2"); //1从商机列表的入口 2从联系人详情的入口
                        refreshActivePane("/front/opportunityManager/addOpportunity?opportunityBs=2"); //1从商机列表的入口 2从联系人详情的入口
                        //delStorageAndRemove(navTab);
                        //3客户详情商机-->新增商机-->新增产品
                    }else if(productBs == "3"){
                        //openTab("客户详情","/front/productManager/productForm");
                        //delStorageAndRemove(navTab);
                        //没值是从产品列表新增跳转和菜单新增产品
                    }else{
                        openTab("产品列表","/front/productManager/productForm?tag=1");
                        refreshActivePane("/front/productManager/productForm?tag=1");
                    }
                    delStorageAndRemove(navTab);

                }
            }),
            error: (function (res) {
                $.alert("保存失败！");
            })
        });
    }
}

/**
 * 消息提示弹出框
 * @param content  ---提示内容
 */
function promptInfo(content) {
    $.alert({
        title: '温馨提示',
        content: content,
        buttons: {
            confirm: {
                text: '确认',
                btnClass: 'btn-primary'
            }
        }
    });
}

/**
 * 新增产品表单重置功能
 */
function formReset() {
    $('form')[0].reset();
    $('form').find('select').selectpicker('refresh');
    $('#staticPath2').val('');
    $('.words-split').html('')
}


/**
 * 生成随机码
 * @param len
 * @returns {string}
 */
function randomString(len) {
    len = len || 32;
    var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';    /****默认去掉了容易混淆的字符oOLl,9gq,Vv,Uu,I1****/
    var maxPos = $chars.length;
    var pwd = '';
    for (i = 0; i < len; i++) {
        pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
    }
    return pwd;
}